package com.mlog.njyjy.ndop.share.zabbix.request.get;

import com.google.gson.Gson;
import com.mlog.njyjy.ndop.share.zabbix.request.auth.AbstractZabbixAuthenticatedRequest;
import com.mlog.njyjy.ndop.share.zabbix.request.auth.AbstractZabbixAuthenticatedRequestBuilder;
import com.mlog.njyjy.ndop.share.zabbix.response.ZabbixResponse;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * <a href="https://www.zabbix.com/documentation/4.0/manual/api/reference/host/get">see</a>
 * </p>
 *
 * @author <a href="mailto:yingxiufeng@mlogcn.com">alex</a>
 * @version v1.0, 2020/7/21
 */
public abstract class AbstractZabbixGetRequest<T extends ZabbixResponse> extends AbstractZabbixAuthenticatedRequest<T> {


    protected Boolean countOutput;

    protected Boolean editable;

    protected Boolean excludeSearch;

    protected Integer limit;

    protected List output;

    protected Boolean preservekeys;

    protected Boolean searchByAny;

    protected Boolean searchWildcardsEnabled;

    protected Boolean startSearch;

    public AbstractZabbixGetRequest(AbstractZabbixGetRequestBuilder builder) {
        this.auth = builder.auth;
        this.countOutput = builder.countOutput;
        this.editable = builder.editable;
        this.excludeSearch = builder.excludeSearch;
        this.limit = builder.limit;
        this.output = builder.output;
        this.preservekeys = builder.preservekeys;
        this.searchByAny = builder.searchByAny;
        this.searchWildcardsEnabled = builder.searchWildcardsEnabled;
        this.startSearch = builder.startSearch;

    }
}
